﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.Data;

namespace landlord2lib
{
    public interface IClientCallback
    {
        [OperationContract(IsOneWay = true)]
        void TableList(DataSet ds);

        [OperationContract(IsOneWay = true)]
        void OpenMainWindow();

        [OperationContract(IsOneWay = true)]
        void PlayerInfo(DataSet ds);

        [OperationContract(IsOneWay = true)]
        void PlayerReady(int seat);

        [OperationContract(IsOneWay = true)]
        void GenerateCard(Card[] cards);

        [OperationContract(IsOneWay = true)]
        void CallLord(int seat, int call);

        [OperationContract(IsOneWay = true)]
        void CallLordResult(int seat, int call);

        [OperationContract(IsOneWay = true)]
        void GiveLordCard(Card[] cards, int point);

        [OperationContract(IsOneWay = true)]
        void ShowLordCard(int seat, Card[] cards, int point);

        [OperationContract(IsOneWay = true)]
        void SendCard(int seat);

        [OperationContract(IsOneWay = true)]
        void SendCardResult(int seat, Card[] cards, bool bigger);

        [OperationContract(IsOneWay = true)]
        void GameResult(DataSet ds, bool win);

        [OperationContract(IsOneWay = true)]
        void RestartGame();

        [OperationContract(IsOneWay = true)]
        void OtherDisconnect();

        [OperationContract(IsOneWay = true)]
        void SendChat(int seat, int gender, int index);

        [OperationContract(IsOneWay = true)]
        void SendChatText(int? seat, string text);

        [OperationContract(IsOneWay = true)]
        void RobotPlay(int seat, bool ena);
    }
}
